Apache Supersetを公式Dockerイメージで構築してみた
こんにちは!DA(データアナリティクス)事業本部 インテグレーション部の大高です。
モダンデータ探索・視覚化プラットフォーム(BIウェブアプリケーション)の「Apache Superset」というオープンソースのアプリケーションがあります。Airbnbによって開発され、2017年にはApache Incubatorプロジェクトになりました。
先日、このApache Supersetがトップレベルプロジェクトになったとのことで、実際にどのようなものなのか触ってみました。
The Apache Software Foundation Announces Apache Superset as a Top-Level Project https://t.co/XSsz5mehuH #Apache #OpenSource #innovation #community #Superset #BigData #enterprise #visualization #businessintelligence #BI pic.twitter.com/x7uT51FVOZ
— Apache - The ASF (@TheASF) January 21, 2021
前提
環境は以下で試しています。
- OS
- macOS Catalina
- Docker Desktop
- 2.3.0.3
セットアップ
まずはDockerfile
とdocker-compose.yml
ファイルを作成します。調べてみると、以前は「公式のイメージがなかった」、「公式のイメージがあってもうまく動かなかった」という情報をいくつか見かけたのですが、現在は公式イメージもあるようなので、まずは試してみます。(なお、結果としてちゃんと動きました)
公式イメージはこちらになります。イメージの利用方法についても記載があるので、こちらを参考にしつつ、Dockerfile
とdocker-compose.yml
ファイルを作成していきます。
ディレクトリ構成
ディレクトリ構成としては、今回は以下のようにしました。
superset ┣ build ┃ ┗ superset ┃ ┗ Dockerfile ┗ docker-compose.yml
Dockerfile
Dockerfileは以下のようにしています。アカウント情報は公式ページのサンプルのままですが、適宜変更してください。
FROM apache/incubator-superset:latest # Setup local admin account RUN superset fab create-admin \ --username admin \ --firstname Superset \ --lastname Admin \ --email admin@superset.com \ --password admin # Migrate local DB to latest RUN superset db upgrade # Load Examples RUN superset load_examples # Setup roles RUN superset init
docker-compose.yml
docker-compose.ymlは以下のとおりです。ポートのマッピングはそのまま8080
にマッピングしました。
version: "3.7" services: superset: build: context: ./build/superset ports: - "8080:8080"
ビルド&立ち上げ
あとはdocker-compose.yml
ファイルと同階層に移動して、docker-compose
コマンドで、ビルド&立ち上げを行います。
$ docker-compose up -d
しばらくして(数分程度) Creating superset_superset_1 ... done
と表示されたら完了です。
実際にアクセスしてみる
では、実際にブラウザでアクセスしてみます。http://localhost:8080
にアクセスするとログイン画面が表示されます。
ここにはDockerfile
に記載したユーザ名とパスワード(今回はadmin
,admin
)を入力してログインします。ログインすると、サンプルのダッシュボードがいくつかあるので見てみます。
こちらはVideo Games Sales
というダッシュボードです。データは2017年頃までのデータのようなので、ちょっと古いですね。
トレンド情報を見てみると、グローバル市場でのゲームの売上トップが「Kinect Adventures!」なのが分かりますね。(意外!)GTAやCall of Dutyが強いのは、なんとなく納得です。
他にもいくつかサンプルダッシュボードがあり、全部で10個のダッシュボードがありました。
まとめ
以上、Apache Supersetを公式Dockerイメージで構築してみました。
Dockerイメージがあるので、サクッとBI環境が構築できて良い感じですね。今回は環境の構築まででしたが、今後は実際にBIダッシュボードの作成や、色々なデータソースへの接続を試してみたいと思います。
どなたかのお役に立てば幸いです。それでは!